home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.004 / xemacs-1 / xemacs-19.13 / src / m / delta.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-04  |  6.3 KB  |  177 lines

  1. /* Machine description file for the Motorola Delta.
  2.    Tested on mvme147 board using R3V7 without X.  Tested with gcc.
  3.    Tested on mvme167 board using R3V7 without X.  Tested with cc, gnucc, gcc.
  4.    Copyright (C) 1986, 1993, 1994 Free Software Foundation, Inc.
  5.  
  6. This file is part of GNU Emacs.
  7.  
  8. GNU Emacs is free software; you can redistribute it and/or modify
  9. it under the terms of the GNU General Public License as published by
  10. the Free Software Foundation; either version 2, or (at your option)
  11. any later version.
  12.  
  13. GNU Emacs is distributed in the hope that it will be useful,
  14. but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16. GNU General Public License for more details.
  17.  
  18. You should have received a copy of the GNU General Public License
  19. along with GNU Emacs; see the file COPYING.  If not, write to
  20. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  21.  
  22. /* Synched up with: FSF 19.29. */
  23.  
  24. /* The following line tells the configuration script what sort of 
  25.    operating system this machine is likely to run.
  26.    USUAL-OPSYS="usg5-3"  */
  27.  
  28. /* Define WORD_MACHINE if addresses and such have
  29.  * to be corrected before they can be used as byte counts.  */
  30.  
  31. /* #define WORD_MACHINE */
  32.  
  33. /* Now define a symbol for the cpu type, if your compiler
  34.    does not define it automatically:
  35.    Ones defined so far include vax, m68000, ns16000, pyramid,
  36.    orion, tahoe, APOLLO and many others */
  37.  
  38. #define m68000
  39. #define MOTOROLA_DELTA
  40.  
  41. /* Use type int rather than a union, to represent Lisp_Object */
  42. /* This is desirable for most machines.  */
  43.  
  44. #define NO_UNION_TYPE 
  45.  
  46. /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
  47.    the bit field into an int.  In other words, if bit fields
  48.    are always unsigned.
  49.  
  50.    If you use NO_UNION_TYPE, this flag does not matter.  */
  51.  
  52. #define EXPLICIT_SIGN_EXTEND
  53.  
  54. /* Data type of load average, as read out of kmem.  */
  55.  
  56. /* #define LOAD_AVE_TYPE long */
  57.  
  58. /* Convert that into an integer that is 100 for a load average of 1.0  */
  59.  
  60. /* #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) */
  61.  
  62. /* Define CANNOT_DUMP on machines where unexec does not work.
  63.    Then the function dump-emacs will not be defined
  64.    and temacs will do (load "loadup") automatically unless told otherwise.  */
  65.  
  66. /* #define CANNOT_DUMP */
  67.  
  68. /* Define VIRT_ADDR_VARIES if the virtual addresses of
  69.    pure and impure space as loaded can vary, and even their
  70.    relative order cannot be relied on.
  71.  
  72.    Otherwise Emacs assumes that data space precedes text space,
  73.    numerically.  */
  74.  
  75. /* #define VIRT_ADDR_VARIES */
  76.  
  77. /* Define C_ALLOCA if this machine does not support a true alloca
  78.    and the one written in C should be used instead.
  79.    Define HAVE_ALLOCA to say that the system provides a properly
  80.    working alloca function and it should be used.
  81.    Define neither one if an assembler-language alloca
  82.    in the file alloca.s should be used.  */
  83.  
  84. /* #define C_ALLOCA */
  85. /* #define HAVE_ALLOCA */
  86.  
  87. /* Define NO_REMAP if memory segmentation makes it not work well
  88.    to change the boundary between the text section and data section
  89.    when Emacs is dumped.  If you define this, the preloaded Lisp
  90.    code will not be sharable; but that's better than failing completely.  */
  91.  
  92. #define NO_REMAP
  93.  
  94. /* Some really obscure 4.2-based systems (like Sequent DYNIX)
  95.  * do not support asynchronous I/O (using SIGIO) on sockets,
  96.  * even though it works fine on tty's.  If you have one of
  97.  * these systems, define the following, and then use it in
  98.  * config.h (or elsewhere) to decide when (not) to use SIGIO.
  99.  *
  100.  * You'd think this would go in an operating-system description file,
  101.  * but since it only occurs on some, but not all, BSD systems, the
  102.  * reasonable place to select for it is in the machine description
  103.  * file.
  104.  */
  105.  
  106. /* #define NO_SOCK_SIGIO */
  107.  
  108.  
  109. /* Machine specific stuff */
  110. #define HAVE_PTYS
  111. #define SYSV_PTYS
  112. #define SIGNALS_VIA_CHARACTERS
  113. #define BROKEN_CLOSEDIR        /* builtin closedir is interruptible */
  114. #define memmove(t,f,s) safe_bcopy(f,t,s) /* for overlapping copies */
  115. #undef KERNEL_FILE
  116. #define KERNEL_FILE "/sysv68"
  117. #undef LDAV_SYMBOL
  118.  
  119. /* The standard C library is -lc881, not -lc.
  120.    DO NOT USE -lPW. That version of alloca is broken in versions R3V5,
  121.    R3V6, R3V7. -riku@field.fi -pot@cnuce.cnr.it. */
  122.  
  123. #define LIB_STANDARD -lc881
  124. #define LIB_MATH -lm881
  125. #define LIBS_TERMCAP -lcurses
  126. #define LIBS_SYSTEM -lbsd
  127.  
  128. #ifdef HAVE_X_WINDOWS
  129. # define HAVE_RANDOM
  130. # define HAVE_XSCREENNUMBEROFSCREEN
  131. # undef LIB_X11_LIB        /* no shared libraries */
  132. # define LIB_X11_LIB -lX11
  133. # undef USG_SHARED_LIBRARIES    /* once again, no shared libs */
  134. # undef LIBX11_SYSTEM        /* no -lpt as usg5-3.h expects */
  135. # define LIBX11_SYSTEM -lnls -lnsl_s
  136. #endif /* HAVE_X_WINDOWS */
  137.  
  138. #ifdef __GNUC__
  139.  /* Use builtin alloca. Also be sure that no other ones are tried out. */
  140. # define alloca __builtin_alloca
  141. # define HAVE_ALLOCA
  142.  /* Union lisp objects do not yet work as of 19.15. */
  143. /* # undef NO_UNION_TYPE */
  144.  
  145.  /* We are assuming here that the `true' GNU gcc has not been
  146.     installed, and we are using the gnucc provided by Motorola.  No
  147.     support exists for compiling with GNU gcc, as I do not have it on
  148.     my machine to try it out.  -pot@cnuce.cnr.it
  149.     If __STDC__ is defined gnucc has been called without the -traditional
  150.     option, that is, we are inside configure.  If THIS_IS_CONFIGURE is
  151.     not defined, then configure is trying to figure out what the right
  152.     option for real compilation are.
  153.     Let us set -traditional, because gmalloc.c includes <stddef.h>, and
  154.     we don't have that (as of SYSV68 R3V7). */
  155. #  define C_SWITCH_MACHINE -mfp0ret -traditional -Dconst= -fdelayed-branch -fstrength-reduce -fno-inline -fcaller-saves
  156. #  define LIB_GCC /lib/gnulib881
  157.  
  158. #else
  159.  /* Not __GNUC__, use the alloca in alloca.s. */
  160.  
  161.  /* Try to guess if we are using the Green Hills Compiler */
  162. # if defined mc68000 && defined MC68000
  163.    /* Required only for use with Green Hills compiler:
  164.     -ga     Because alloca relies on stack frames. This option forces
  165.          the Green Hills compiler to create stack frames even for
  166.          functions with few local variables. */
  167. #  define C_SWITCH_MACHINE -ga -O
  168. #  define GAP_USE_BCOPY        /* *++to = *++from  is inefficient */
  169. #  define BCOPY_UPWARD_SAFE 0
  170. #  define BCOPY_DOWNWARD_SAFE 1    /* bcopy does: mov.b (%a1)+,(%a0)+ */
  171. # else
  172.  /* We are using the standard AT&T Portable C Compiler */
  173. #  define SWITCH_ENUM_BUG
  174. # endif
  175.  
  176. #endif /* not __GNUC__ */
  177.